/* This software is in the public domain under CC0 1.0 Universal plus a Grant of Patent License. */

a { color:var(--q-color-primary); text-decoration:none; }
.q-menu a, .q-toolbar a { color:inherit; }

.text-success { color:var(--q-color-positive); }
.text-danger { color:var(--q-color-negative); }
.text-mono { font-family: monospace,monospace; }

form, fieldset { border:none; display:contents; }

/* Quasar styles have huge h? sizes by default, trim down to something more reasonable */
h1, .text-h1 { font-size:2.5rem; line-height:2.5rem; letter-spacing:initial; }
h2, .text-h2 { font-size:2rem; line-height:2rem; letter-spacing:initial; }
h3, .text-h3 { font-size:1.8rem; line-height:1.8rem; letter-spacing:initial; }
h4, .text-h4 { font-size:1.4rem; line-height:1.4rem; letter-spacing:initial; margin-block-start:0.25em; margin-block-end:0.25em; }
h5, .text-h5 { font-size:1.2rem; line-height:1.2rem; letter-spacing:initial; margin-block-start:0.25em; margin-block-end:0.25em; }
h6, .text-h6 { font-size:1.0rem; line-height:1.0rem; letter-spacing:initial; margin-block-start:0.25em; margin-block-end:0.25em; }

p { margin-bottom:8px; } /* orig 16px */

body.dev #top { background: #0c1b29!important; }
body.test #top { background: #224422!important; }

.body--dark .q-menu { background-color:black; }
.body--dark img.invertible { -webkit-filter: invert(90%); filter: invert(90%); }

.q-card { background:transparent; }
.q-card__actions h5 { font-size: 1.1rem; display:inline-block; margin-block-start:0; margin-block-end:0; }
.q-dialog .q-card { background-color:white; }
.body--dark .q-dialog .q-card { background-color:black; }

.non-selectable { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.q-btn { margin:2px; }
.q-btn--dense .q-btn__wrapper { padding:4px 8px; }
.q-btn .q-icon, .q-btn .q-spinner { font-size:18px; } /* was 1.715em ~= 24px */
/* using q-btn flat for link style buttons, reduce margin/padding/height to match inline text */
.m-link.q-btn--flat { margin:0; }
.m-link.q-btn--flat .q-btn__wrapper { padding:0 4px; min-height:1.5em; }
.m-link.q-btn--flat .q-btn__content { line-height:1.5; }

.q-btn-group>.q-btn { margin:0; }
.q-btn-group>.q-btn--dense.q-btn-item:not(:first-child)>.q-btn__wrapper { padding-left:4px; }
.q-btn-group>.q-btn--dense.q-btn-item:not(:last-child)>.q-btn__wrapper { padding-right:4px; }

form.q-form { width:100%; }

/* BEGIN q-field label move up to overlay outline */
/* need small (6px) top margin so floating label does not overlap elements above, but to make all q-field consistent apply too all (not just .q-field--labeled.q-field--dense) */
.q-field--dense { margin:6px 0 6px 0; }
/* move field lable up to 'notch' in outline (like https://material.io/components/text-fields) */
.q-field--dense .q-field__label { top:0; padding-left:4px; padding-right:4px; background-color:white; }
.body--dark .q-field--dense .q-field__label { background-color:black; }
/* make notch fit text, not full width */
.q-field--dense.q-field--float .q-field__label { right:auto; }
/* move input text up 6px OOTB padding-top:14px */
.q-field--labeled.q-field--dense .q-field__native { padding-top:8px; }
/* move drop-down input up 6px; this padding-top defaults to 14px, have to move up 12px to handle wrapped field padding */
.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container { padding-top:0; }
/* fix blue focus border on top of label instead of behind */
.q-field__label { z-index:10; }
/* fix disabled opacity, was 0.6 which caused border to bleed through */
.q-field--disabled .q-field__control > div { opacity:1 !important; }
/* END q-field label move */

.q-field--dense .q-field__marginal { height:auto; min-height:40px; }
.q-field__prepend { max-width:75%; }
.q-field__marginal .q-checkbox__label { font-size:10px; } /* orig from q-field__marginal 24px */

/* instead of always having 20px bottom area only do when there is an error - may need adjustment for other field bottom uses */
.q-field--with-bottom { padding-bottom:4px; }
.q-field--with-bottom.q-field--error { padding-bottom:16px; }
.q-field__bottom { padding-top:4px; }

.q-item__section--avatar { min-width:30px; } /* orig 56px */
.q-drawer .q-item__section--side { padding-right:4px; } /* orig 16px */

.q-card__actions { padding:8px 8px 0 8px; }
.q-card__section--vert { padding:8px; } /* orig 16px */

.big-row { display:flex; flex-wrap:wrap; justify-content:flex-start; align-content:center; }
.big-row-item {}
.big-row-item .q-field { display:inline-flex; }

.q-table--dense .q-table .form-list-nav-row th:first-child { padding:4px 0; }
.form-list-nav-row .q-bar { background-color:transparent; }

/* ====== div based table styles ====== */

.table { display: table; width: 100%; }
.thead { display: table-header-group; font-weight: bold; }
.tfoot { display: table-footer-group; font-weight: bold; }
.tbody { display: table-row-group; }
.tr { display: table-row; }
.td, .th { display: table-cell; vertical-align: middle; }

/* ====== quasar table styles adapted to div based table styles ====== */
/* NOTE: these are based on quasar.css version 1.12.11 */

/* lines 4216-4531 */
.q-table .thead .tr, .q-table .tbody .td { height: 48px; }
.q-table .th { font-weight: 500; font-size: 12px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.q-table .th, .q-table .td { padding: 7px 16px; background-color: inherit; }
.q-table .thead, .q-table .td, .q-table .th { border-style: solid; border-width: 0; }
.q-table .tbody .td { font-size: 13px; }

.q-table--no-wrap .th, .q-table--no-wrap .td { white-space: nowrap; }
.q-table--grid .q-table__middle .thead, .q-table--grid .q-table__middle .thead .th { border: 0 !important; }

.q-table--horizontal-separator .thead .th, .q-table--cell-separator .thead .th, .q-table--horizontal-separator .tbody .tr:not(:last-child) .td,
    .q-table--cell-separator .tbody .tr:not(:last-child) .td { border-bottom-width: 1px; }
.q-table--vertical-separator .td, .q-table--cell-separator .td, .q-table--vertical-separator .th, .q-table--cell-separator .th { border-left-width: 1px; }
.q-table--vertical-separator .thead .tr:last-child .th, .q-table--cell-separator .thead .tr:last-child .th, .q-table--vertical-separator.q-table--loading .tr:nth-last-child(2) .th,
.q-table--cell-separator.q-table--loading .tr:nth-last-child(2) .th { border-bottom-width: 1px; }
.q-table--vertical-separator .td:first-child, .q-table--cell-separator .td:first-child, .q-table--vertical-separator .th:first-child,
    .q-table--cell-separator .th:first-child { border-left: 0; }
.q-table--dense .q-table .th, .q-table--dense .q-table .td { padding: 4px 8px; }
.q-table--dense .q-table .thead .tr, .q-table--dense .q-table .tbody .tr, .q-table--dense .q-table .tbody .td { height: 28px; }
.q-table--dense .q-table .th:first-child, .q-table--dense .q-table .td:first-child { padding-left: 16px; }
.q-table--dense .q-table .th:last-child, .q-table--dense .q-table .td:last-child { padding-right: 16px; }
.q-table .thead, .q-table .tr, .q-table .th, .q-table .td { border-color: rgba(0,0,0,0.12); }
.q-table .tbody .td { position: relative; }
.q-table .tbody .td:before, .q-table .tbody .td:after { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; }
.q-table .tbody .td:before { background: rgba(0,0,0,0.03); }
.q-table .tbody .td:after { background: rgba(0,0,0,0.06); }
.q-table .tbody .tr.selected .td:after { content: ''; }
body.desktop .q-table > .tbody > .tr:not(.q-tr--no-hover):hover > .td:not(.q-td--no-hover):before { content: ''; }
.q-table--dark .q-table__bottom, .q-table--dark .thead, .q-table--dark .tr, .q-table--dark .th, .q-table--dark .td { border-color: rgba(255,255,255,0.28); }
.q-table--dark .tbody .td:before { background: rgba(255,255,255,0.07); }
.q-table--dark .tbody .td:after { background: rgba(255,255,255,0.1); }

/* lines 5730-5735 */
.q-table .q-virtual-scroll__padding .tr { height: 0 !important; }
.q-table .q-virtual-scroll__padding .td { padding: 0 !important; }

/* Description List Horizontal - based on Bootstrap concept */
dl { margin-top:8px; margin-bottom:8px; }
dt { font-weight:700; }
dd { margin-left:0; }
@media (min-width:768px) {
    .dl-horizontal dt { float:left; width:160px; clear:left; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .dl-horizontal dd { margin-left:180px; }
}
.dl-horizontal dd:before, .dl-horizontal dd:after { display:table; content:" "; }
.dl-horizontal dd:after { clear:both; }

/* ====== Old Handy Styles ====== */
ul.tree-list, ul.tree-list ul { list-style-type: none; padding: 4px 4px 4px 20px; }

ul.float-box { display: inline-block; list-style: none outside none; margin: 0 0 -8px 0; padding: 0; }
ul.float-box li { display: inline-block; line-height: 18px; margin: 0 8px 8px 0; padding: 8px; float: left; }
ul.float-box li.box-narrow { max-width: 300px; }

ul.float-plain { display: inline-block; list-style: none outside none; margin: 0 0 -8px 0; padding: 0; }
ul.float-plain li { display: inline-block; line-height: 18px; margin: 0 8px 8px 0; padding: 8px; float: left; }
ul.float-plain.condensed { margin: 0; }
ul.float-plain.condensed li { margin: 0 4px 0 0; padding: 4px; }

/* misc library styles */
/* simplemde */
.editor-toolbar.fullscreen { z-index:100!important; top:50px!important; }
.CodeMirror-fullscreen, .editor-preview-side { z-index:100!important; top:100px!important; }
/* jsdiff */
.compare del { background-color:#f2dede; text-decoration:none; }
.compare ins { background-color:#dff0d8; text-decoration:none; }

/* ====== print style overrides ====== */

@media print {
    *, *:before, *:after { background: transparent none !important; }
    body { background: white none !important; font-size: 10px; }

    #top, #footer { display: none; }
    .q-page-container { padding:0!important; }
    .q-drawer, .q-tabs, .q-btn, .form-list-nav-row { display: none; }

    tbody>tr:nth-child(even)>td, .tbody .tr:nth-child(even)>.td { background-color: #EEEEEE !important; }
}
